package org.elepower.dao;

import org.apache.ibatis.annotations.Param;
import org.elepower.pojo.PsUser;

import java.util.List;

public interface UserDao extends Common<PsUser,Integer>{

    /**
     * 登录
     * @param username
     * @return
     */
    public PsUser getByUserName(@Param("username") String username);

    /**
     * 查询用户信息
     * @param id
     * @return
     */
    public PsUser getUser(@Param("id")Integer id);


    /**
     * 更改密码
     * @param psUser
     */
    public void updatePassword(PsUser psUser);

    /**
     * 更新用户最后登录时间
     * @param psUser
     */
    public void updateLastTime(PsUser psUser);

    /**
     * 添加角色用户权限
     * @param userId
     * @param roleIds
     */
    public void addUserRole(@Param("userId") Integer userId,@Param("roleIds") Integer[] roleIds);

    /**
     * 删除用户角色
     * @param id
     */
    public void deleteUserRole(Integer id);


    /**
     * 查询除了自己以为是否有一样的登录名称
     * @return
     */
    public PsUser getUserName(@Param("userName")String userName,@Param("id")Integer id);

    /**
     * 查询线路管理员
     * @return
     */
    public List<PsUser> getLineUser();

}
